home *** CD-ROM | disk | FTP | other *** search
- #include <stdio.h>
-
- #include <proto/dos.h>
-
- size_t fwrite(void *ptr,size_t size,size_t nmemb,FILE *f)
- {
- size_t total=size*nmemb;char *p=ptr;long result;
- if(!f||!total) return(0);
- if((f->flags&(_WRITEABLE|_READ|_ERR|_EOF))!=_WRITEABLE) return(0);
- f->flags|=_WRITE;
- /* einfache (ungepufferte) Implementation */
- fflush(f);
- result=Write((BPTR)f->filehandle,p,total);
- if(result==-1){f->flags|=_ERR;return(0);}
- return(result/size);
-
- /* if(f->count){
- if(total<=f->count){
- memcpy(f->pointer,p,total);
- f->pointer+=total;f->count-=total;
- return(total);
- }else{
- memcpy(f->pointer,p,f->count);
- total-=f->count;p+=f->count;
- f->count=0;
- }
- }
- result=Read(f->filehandle,p,total);
- if(result==-1){f->flags|=_ERR;return((p-(char *)ptr)/size);}
- return((p+total-(char *)ptr)/size);*/
- }
-